SageMaker Unified Studio の JumpStart で Llama 3.3 70B をデプロイしてみる

SageMaker Unified Studio の JumpStart で Llama 3.3 70B をデプロイしてみる

Clock Icon2024.12.28

こんにちは、森田です。

以下のアップデートで Amazon SageMaker JumpStart で Llama 3.3 70B が利用可能となりました。

https://aws.amazon.com/about-aws/whats-new/2024/12/llama-3-3-70b-aws-amazon-sagemaker-jumpstart/

本記事では、SageMaker JumpStart で Llama 3.3 70B をデプロイしてみます。

また、JumpStart については、SageMaker Unified Studio から行ってみます。

やってみた

前提条件

SageMaker Unified Studio のドメインは作成済みとします。

img_130.png

プロジェクトの作成

Unified Studio 内でプロジェクトを作成します。

今回はモデル開発を行うため、プロファイルに「Data analytics and AI-ML model development」を選択して、作成を行います。

img_132.png

以下のようにステータスがアクティブになるまで待機します。

img_133.png

JumpStart からモデルをデプロイ

作成したプロジェクトを選択して、Jumpstart modelsを開きます。

img_134.png

Llama 3.3 70Bを選択します。

img_135.png

右上の「Depoly」をクリックします。

img_136.png

今回はインスタンスタイプは、ml.p4d.24xlargeを選択して「Deploy」をクリックします。

img.png

ちなみに、当初は、ml.g5.48xlargeを選択して「Deploy」してましたが、以下のようにエラーが発生しました。

img_141.png

Deploy後は、Status が InService になるまで待機します。

img.png

エンドポイントからのモデルの呼び出し

「Test inference」をクリックすると、モデル呼び出し用のサンプルコードが用意されています。

今回は JupyterLab を使ってモデル呼び出しを行います。

img.png

サンプルコードが記載されたノートブックが開きます。

img.png

注意点として、デフォルトでインストールされているsagemakerのままではバージョンが対応していないため、以下のエラーが発生します。

KeyError: "Unable to find model manifest for 
'meta-textgeneration-llama-3-3-70b-instruct' with version '1.2.0' compatible with your SageMaker version ('2.227.0'). 
Consider upgrading your SageMaker library to at least version '2.232.1' 
so you can use version '1.2.0' of 'meta-textgeneration-llama-3-3-70b-instruct'."

一度以下のコマンドを実行してバージョンを最新化します。

!pip install -U sagemaker

バージョン変更後、以下のコードを実行します。

predict.py
from sagemaker.predictor import retrieve_default

endpoint_name = "エンドポイント名"
predictor = retrieve_default(endpoint_name)

payload = {
    "inputs": "<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nあなたのお名前は何ですか?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n",
    "parameters": {
        "max_new_tokens": 256,
        "top_p": 0.9,
        "temperature": 0.6
    }
}
response = predictor.predict(payload)
print(response)
出力結果
{'generated_text': '私はAIです。名前は「LLaMA」です。Llamaは、Large Language Model Meta AIの略です。'}

問題なく動作していますね!

さいごに

SageMaker Unified Studio は、従来の JumpStart とほとんど同じ感覚で使えました。

また、作成されたモデルをすぐに試すためのTest inferenceも用意されていて、開発体験が良いです。

このモデルを使ってBedrockにもインポートできそうな気がするので、またの機会に試してみたいと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.